Displaying a graphical keyboard

ABSTRACT

In general, this disclosure describes techniques for providing a mechanism for facilitating text entry by a user interacting with a graphical keyboard displayed at a presence-sensitive screen of a computing device. For example, a computing device having a presence-sensitive screen and a housing, the housing further having a plurality of touch sensors, receives touch input at the touch sensors. The computing device determines a usage mode, based on the touch input. The computing device also displays, based on the usage mode, a graphical keyboard at the presence-sensitive screen. If the usage mode is a one-handed usage mode, a unitary graphical keyboard is displayed. If the usage mode is a two-handed usage mode, a split graphical keyboard is displayed.

This application is a continuation of and claims the benefit of U.S.patent application Ser. No. 13/959,689, filed on Aug. 5, 2013, which isa continuation of U.S. patent application Ser. No. 13/599,885, filed onAug. 30, 2012, and issued on Aug. 6, 2013 as U.S. Pat. No. 8,504,934,the entire contents of each of which is incorporated herein byreference.

BACKGROUND

A user may interact with applications that are executing on a computingdevice (e.g., a mobile phone, tablet computer, smartphone, desktopcomputer, or similar device). In some examples, a computing device mayinclude a presence-sensitive screen that may enable a user to interactwith the computing device. For instance, an application executing on acomputing device may cause a presence-sensitive screen to display agraphical keyboard that may enable a user to register key presses bytouching certain areas of the graphical keyboard.

SUMMARY

In one example, a method includes receiving, by one or more touchsensors from a plurality of touch sensors at a housing of a computingdevice, a touch input, and determining, based at least in part on thetouch input and by the computing device, a usage mode, wherein the usagemode includes at least one of a one-handed usage mode, and a two-handedusage mode. The method may also include displaying, based at least inpart on the usage mode, a graphical keyboard at the presence-sensitivescreen of the computing device, wherein, if the usage mode is theone-handed usage mode, the graphical keyboard is displayed as a unitarygraphical keyboard, and wherein, if the usage mode is the two-handedusage mode, the graphical keyboard is displayed as a split graphicalkeyboard.

In another example, a computing device includes one or more processors,a presence-sensitive screen, a housing having a plurality of touchsensors, a usage mode module operable by the one or more processors andan interface manager operable by the one or more processors. The usagemode module is operable by the one or more processors to receive a touchinput at one or more touch sensors from the plurality of touch sensorsand determine, based at least in part on the touch input, a usage mode,wherein the usage mode includes at least one of a one-handed usage mode,and a two-handed usage mode. The interface manager is operable by theone or more processors to display, based at least in part on the usagemode, a graphical keyboard at the presence-sensitive screen, wherein ifthe usage mode is the one-handed usage mode, the graphical keyboard isdisplayed as a unitary graphical keyboard, and wherein, if the usagemode is the two-handed usage mode, the graphical keyboard is displayedas a split graphical keyboard.

In another example, a computer-readable storage medium is encoded withinstructions that, when executed, cause one or more processors of acomputing device to perform operations including receiving touch inputat one or more touch sensors from a plurality of touch sensors includedin a housing of the computing device, determining, based at least inpart on the touch input, a usage mode, wherein the usage mode includesat least one of a one-handed usage mode, and a two-handed usage mode,and displaying, based at least in part on the usage mode, a graphicalkeyboard at a presence-sensitive screen of the computing device,wherein, if the usage mode is the one-handed usage mode, the graphicalkeyboard is displayed as a unitary graphical keyboard, and wherein, ifthe usage mode is the two-handed usage mode, the graphical keyboard isdisplayed as a split graphical keyboard.

The details of one or more embodiments are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages will be apparent from the description and drawings, and fromthe claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a conceptual diagram illustrating an example of a computingdevice that may be configured to execute one or more applications andreceive input, in accordance with one or more aspects of the presentdisclosure.

FIG. 2 is a block diagram illustrating further details of one example ofthe computing device shown in FIG. 1, in accordance with one or moreaspects of the present disclosure.

FIGS. 3A-3C are conceptual diagrams illustrating an example computingdevice for displaying a graphical keyboard at a presence-sensitivescreen, in accordance with one or more aspects of the presentdisclosure.

FIG. 4 is a flow diagram illustrating an example process that may beused to display a graphical keyboard at a presence-sensitive screen, inaccordance with one or more aspects of the present disclosure.

DETAILED DESCRIPTION

The disclosure is directed to techniques for facilitating text entry bya user interacting with a graphical keyboard displayed at apresence-sensitive screen of a computing device. Many handheld mobiledevices, such as tablets or smartphones, provide a presence-sensitivescreen with which a user may interact. In order for a user to entertextual information into a mobile device, the mobile device may displaya graphical (i.e., virtual) keyboard at the presence-sensitive screenwith which the user may interact to enter text.

In some examples, the way in which a user holds a mobile device may notbe conducive to interacting with a typical graphical keyboard. Using atypical graphical keyboard while holding the mobile device in one handmay make text entry more difficult as compared to holding the mobiledevice in both hands. An individual user may repeatedly make certainerrors when typing on the graphical keyboard because of the placement ofthe graphical keyboard. For example, the actual key on the graphicalkeyboard that is activated by the user may be different from an intendedtarget key. Additionally, the graphical keyboard layout may render inputof certain keys strenuous or impossible based on the user's limitedrange of movement.

In one aspect of this disclosure, a computing device (e.g., a mobilephone, a tablet computer, etc.) may be enabled to determine a usage modeand usage location of a user based at least in part on a manner in whichthe user is holding the computing device and display a graphicalkeyboard at a presence-sensitive screen of the computing devicecorresponding to the determined usage mode and usage location. The usagemode and usage location are determined from received touch inputs at aplurality of touch sensors of the computing device. The touch sensorsmay be located in or on a housing of the computing device and may eachbe able to detect or otherwise receive touch input from the user. Basedon the usage mode, the computing device may alter the display of agraphical keyboard at the presence-sensitive screen. For example, thecomputing device may display a graphical keyboard with a particularmechanical character layout (e.g., the traditional QWERTY keyboardlayout), or may display separate left-hand characters at a left regionof the presence-sensitive screen and right-hand characters at a rightregion of the presence-sensitive display. Based on the usage location,the computing device may display the graphical keyboard at differentlocations of the presence-sensitive screen. For example, if a user holdsthe computing device nearer to the bottom of the computing device, thecomputing device may display a graphical keyboard at a lower location ofthe presence-sensitive screen. In another example, the computing devicemay display the graphical keyboard at a different location of thepresence-sensitive screen, in accordance with the user holding thecomputing device with different hand placement.

Another aspect of this disclosure may enable a computing device todetermine an input mode of a user based on which hand a user employs toprovide user input. The computing device may determine which hand isbeing used for user input by monitoring the received touch inputs anddetecting any change in the received touch inputs at or near the sametime as received user input. If a change in the received touch inputs isdetected, the computing device may use the current usage mode todetermine that the hand presumed to have caused the change is the handwith which the user is entering input. For example, if the computingdevice determines a left-handed usage mode (i.e., the user is holdingthe computing device with a left hand), and the computing device detectsa change in the received touch inputs at or near the same time asreceived user input, the computing device may determine that the user isusing the thumb of his or her left hand to enter input. In anotherexample, if the computing device detects no change in the received touchinputs, the computing device may determine that the user is using his orher right hand to enter input.

Aspects of this disclosure may also enable a user to minimizeinadvertent input. The computing device may minimize inadvertent inputbased upon received touch input. For example, in a one-handed usagemode, when the computing device receives user input corresponding tomultiple character selections at or near the same time, the computingdevice may determine whether any change in received touch inputsoccurred at or near the same time as the user input. When no change isdetermined, such as when the user has not activated any additional touchsensors, the computing device may accept each of the characterselections as intentional user input. In another example, when thecomputing device determines a change in received touch inputs, such aswhen a user's palm has come in contact with a touch sensor while theuser attempts to reach a certain element with his or her thumb, thecomputing device may refuse to accept certain selections as intentionaluser input (e.g., selections corresponding to an element located nearestto the newly-activated touch sensor).

The techniques of this disclosure may improve ease and speed of textentry by a user at a graphical keyboard by providing the user withdifferent graphical keyboards for selecting characters based ondifferent usage modes and usage locations of a device. Additionally,usage modes, usage locations, and input modes can be used to minimizeinadvertent selection of elements, thereby enabling a user to moreaccurately select elements for user input. Techniques of this disclosuremay decrease frustration associated with inaccuracies of user input onpresence-sensitive screens and associated physical discomfort.

FIG. 1 is a conceptual diagram illustrating an example of a computingdevice 2 that may be configured to execute one or more applications andreceive input, in accordance with one or more aspects of the presentdisclosure. Computing device 2 may be a stand-alone device, or may bepart of a larger system. In some examples, computing device 2 may be amobile device. Examples of computing device 2 include portable or mobiledevices, such as mobile phones, tablet computers, smartphones, personaldigital assistants (PDAs), portable gaming devices, portable mediaplayers, and e-book readers, as well as non-portable devices such asdesktop computers. In some instances, computing device 2 may communicatewith external, distinct devices via one or more networks, such as one ormore wired or wireless networks, which may, in some cases, provideaccess to the Internet.

As shown in FIG. 1, computing device 2 includes touch sensors 4, usagemode module 6, interface manager 8, and one or more output devices 12.interface manager 8 further includes character mapping module 10. One ofoutput devices 12 may display graphical user interface (GUI) 16 havingkeyboard sections 18A, 18B (collectively, “keyboard sections 18”).Keyboard sections 18A, 18B, collectively, may also be referred herein toas “graphical keyboard 18.”

Output devices 12, in certain examples, may be configured to provideoutput to a user using tactile, audio, or video stimuli. Output devices12 may include an input-sensitive display (e.g., touch-sensitive screenor presence-sensitive screen). That is, one or more of output devices 12may also function as input devices. Output devices 12 may also include avideo graphics adapter card, or any other type of device for convertinga signal into an appropriate form understandable to humans or machines.Output devices 12 may present the content of computing device 2 to auser (e.g., GUI 16). For example, GUI 16 may display a web browser, orother output that may need to be presented to the user. As shown in FIG.1, GUI 16 may, at times, include graphical keyboard 18.

In some examples, output devices 12 may include a presence-sensitivescreen that can receive one or more user inputs, enabling a user'sinteraction with computing device 2. A user may interact with thepresence-sensitive screen, displaying GUI 16, to select characters fromgraphical keyboard 18 or other elements of GUI 16. A user's selection ofa keyboard character or other element may be received by thepresence-sensitive screen and provided to interface manager 8.

Touch sensors 4 may be capable of receiving touch input from a user.Touch sensors 4 may include electrical devices such as capacitivesensors or resistive sensors, or may include mechanical devices such asswitches or pressure plates. In one example, touch sensors 4 may includea plurality of simple capacitance sensors able to determine a change inthe capacitance of a material. Electrical hardware attached to each oneof the simple capacitance sensors may monitor the respective simplecapacitance sensors for a change in capacitance. A change in capacitancemay be determined by the attached electrical hardware and an indicationmay be output by the touch sensor. Other known sensor techniquesproviding the ability to sense touch input may also be employed toreceive touch input from a user.

Touch sensors 4 may be located in or on a housing of computing device 2.For example, one or more touch sensors 4 may be located such that, whena user interacts with computing device 2 (e.g., by holding computingdevice 2), touch sensors 4 receive touch inputs at certain ones of touchsensors 4. Touch sensors 4 may provide the received touch inputs tocomputing device 2, or more specifically to usage mode module 6.

Usage mode module 6 may include hardware elements, software elements, ora combination thereof. Usage mode module 6 may receive one or more touchinputs from touch sensors 4. Based upon the received touch inputs, usagemode module 6 may determine the way in which a user is holding computingdevice 2. In one example, when holding computing device 2 with a singlehand, a user may cause certain ones of touch sensors 4 to detect touchinput. Touch sensors 4 may provide the detected touch inputs to usagemode module 6. Usage mode module 6 may determine that the received touchinputs correspond to a single-handed usage mode (e.g., a left-handedusage mode or a right-handed usage mode). In other examples, usage modemodule 6 may determine that the received touch inputs correspond to atwo-handed usage mode.

Based upon the received touch inputs, usage mode module 6 may alsodetermine a usage location of the user's hands. That is, usage modemodule 6 may determine both how a user is holding computing device 2 andat what location on computing device 2 the user is holding computingdevice 2. As one example, usage mode module 6 may determine that theuser is holding computing device 2 near the bottom of the device. Inanother example, usage mode module 6 may determine that the user isholding computing device 2 near the top of the device.

Usage mode module 6 may receive user input (e.g., from interface manager8). In various embodiments, usage mode module 6 may determine a inputmode based on the received touch inputs, the determined usage mode, andthe received user input. Usage mode module 6 may monitor the receivedtouch inputs and, when a user makes a character selection or otherwiseprovides input (e.g., on a presence-sensitive screen), usage mode module6 may determine whether a change occurred in the received touch inputsat or near the same time as the user input. In one example, when asingle-handed usage mode is determined, and no change occurs in thereceived touch input, usage mode module 6 may determine that the user isusing his or her free hand to provide user input on thepresence-sensitive screen (i.e., a two-handed input mode). That is, theuser is not making character selections or otherwise providing userinput with the hand in which he or she is holding computing device 2. Ifa change does occur in the received touch inputs, usage mode module 6may determine that the user is using the hand with which he or she isholding computing device 2 to make character selections or otherwiseprovide user input on the presence-sensitive screen (i.e. asingle-handed input mode). When a two-handed usage mode is determined,usage mode module 6 may determine with which hand the user is providinguser input on the presence-sensitive screen by determining which, ifany, of the received touch inputs change at or near the same time as theuser input is received. In other examples, usage mode module 6 may notdetermine an input mode when usage mode module 6 determines a two-handedusage mode. Usage mode module 6 may provide a usage mode, a usagelocation, and an input mode to interface manager 8.

Computing device 2 may be configured to execute interface manager 8,which may cause one or more of output devices 12 to display graphicalkeyboard 18 as part of GUI 16. Interface manager 8 may be operable by atleast one processor of a computing system including computing device 2to generate and cause output devices 12 to display graphical keyboardarrangements. Interface manager 8 may also be operable to receivecharacter input from an input device of computing device 2 (e.g., aninput/output device such as a presence-sensitive screen). In oneexample, output devices 12 may include a presence-sensitive screen,capable of providing input to interface manager 8 based on a user'sselection of individual keys from graphical keyboard 18. Interfacemanager 8 may be, in some embodiments, a downloadable or pre-installedapplication executing on computing device 2. In another embodiment,interface manager 8 may be part of a hardware unit of computing device2.

Character mapping module 10 of interface manager 8 may dictate the formand location of graphical keyboard 18. Based upon the usage mode, usagelocation, and input mode received from usage mode module 6, interfacemanager 8 may employ character mapping module 10 to determine the formin which to display graphical keyboard 18. In other words, interfacemanager 8 may cause output devices 12 to display, as part of GUI 16,graphical keyboard 18 as a unitary graphical keyboard or a bifurcatedgraphical keyboard, depending upon the usage mode received by interfacemanager 8 from usage mode module 6. Interface manager 8 may also causeoutput devices 12 to display graphical keyboard 18 at differentlocations of GUI 16, depending upon the usage location and input modereceived by interface manager 8 from usage mode module 6.

In one example, a user may hold computing device 2 with two hands suchthat the user's thumbs are able to easily interact with an area of oneof output devices 12 (e.g., a presence-sensitive screen) of computingdevice 2. Certain ones of touch sensors 4 may receive touch inputs fromthe user's hands. Touch sensors 4 may provide the received touch inputsto usage mode module 6. Based upon the received touch inputs, usage modemodule 6 may determine that the user is interacting with computingdevice 2 in a two-handed usage mode. Usage mode module 6 may alsodetermine a usage location of the user's hands on computing device 2based upon the received touch inputs. Usage mode module 6 may or may notdetermine an input mode. Usage mode module 6 may provide interfacemanager 8 with the determined usage mode (i.e., two-handed usage mode),determined usage location (e.g., near a bottom portion of thepresence-sensitive screen), and input mode. Character mapping module 10of interface manager 8 may, based on the two-handed usage mode and theusage location, determine the form and location of graphical keyboard 18to be a bifurcated graphical keyboard near the bottom portion of thepresence-sensitive screen. Based upon instruction from character mappingmodule 10, interface manager 8 may cause output devices 12 to display abifurcated graphical keyboard (e.g., keyboard sections 18A, 18B) as partof GUI 16. The displayed keyboard sections 18A, 18B may be at a locationof GUI 16 such that individual keys of graphical keyboard 18 are withincomfortable reach of the user's thumbs.

In other examples, the user may hold computing device 2 with one hand.Usage mode module 6 may determine a single-handed usage mode, a usagelocation, and a single-handed input mode. Character mapping module 10may determine that a unitary graphical keyboard should be displayed aspart of GUI 16. Based on instruction from character mapping module 10,interface manager 8 may cause output devices 12 to display a unitarygraphical keyboard. Based on the usage location and single-handed inputmode, the unitary graphical keyboard may be at a location of GUI 16 suchthat individual keys of the unitary graphical keyboard are withincomfortable reach of the thumb of the hand with which the user isholding computing device 2. Alternatively, if a two-handed input modewas determined by usage mode module 6, individual keys of the unitarygraphical keyboard may be within comfortable reach of the user's freehand.

Interface manager 8 may receive an indication of a selected element ofGUI 16 or an activated key of keyboard 18 (e.g., in response to a userinteracting with keyboard 18 displayed at the presence-sensitivescreen). Interface manager 8 may then provide an indication of theselected element or activated key to various software applications ofcomputing device 2. In some embodiments, interface manager 8 maydistinguish a user's inadvertent user input from intentional user inputbased on at least one of the received usage mode, the received usagelocation, the received input mode, and the touch input received by usagemode module 6. That is, interface manager 8 may determine that aselection received as user input was not intentionally selected, butrather the element was accidentally selected. As one example, usage modemodule 6 may determine a two-handed usage mode. Interface manager 8 may,at some time, receive simultaneous input for two separate characters ofkeyboard 18 (e.g., “Z” and “G” in FIG. 1). interface manager 8 maydetermine, based on the two-handed usage mode, that the userintentionally input the “G” character with a thumb, but inadvertentlyselected the “Z” character with a palm of the hand as well. Interfacemanager 8 may refrain from providing the character input associated withthe user's selection of the “Z” character to the relevant softwareapplication of computing device 2.

In this manner, techniques of this disclosure may improve efficiency andusability by providing a user with a graphical keyboard better suited toa mode in which the user is holding a device. In other words, bydetermining how the user is holding and using the device, the type ofgraphical keyboard to be displayed and location at which to display thegraphical keyboard can be modified by the device. For example, a usermay hold the device in a two-handed mode and the device may display abifurcated graphical keyboard at a presence-sensitive screen of thedevice, in an area of the presence-sensitive screen easily accessible bythe user's hands. In another example, a user may hold the device in aone-handed mode and the device may display a unitary graphical keyboardat the presence-sensitive screen, in an area of the presence-sensitivescreen easily accessible to one, the other, or both of the user's handsdepending on the determined input mode. Additionally, the presentdisclosure may improve accuracy of user input. The device can use thedetermined mode in which the user is holding the device and providinginput as well as the location of the user's hands to distinguish betweenthe user's intentional user input and the user's inadvertent user input.That is, by determining how and where the user is holding the device,and how the user is providing input, the device can help the user avoidmistaken user input (e.g., selections made by the user's palm cominginto contact with the presence-sensitive screen).

FIG. 2 is a block diagram illustrating further details of one example ofthe computing device shown in FIG. 1, in accordance with one or moreaspects of the present disclosure. FIG. 2 illustrates only oneparticular example of computing device 2, and many other exampleembodiments of computing device 2 may be used in other instances. Asshown in the specific example of FIG. 2, computing device 2 includes oneor more processors 22, a plurality of touch sensors 4, one or more inputdevices 24, one or more output devices 12, network interface 26, one ormore communication channels 30 (COMM. CHANNEL(S)), and one or morestorage devices 32. Computing device 2 also includes an operating system36 which may include modules that are executable by computing device 2.Computing device 2 further includes one or more applications 34 andusage mode module 6. Applications 34, in one example, include interfacemanager 8, which is also executable by computing device 2. interfacemanager 8 includes character mapping module 10. Each of components 4, 6,8, 10, 12, 22, 24, 26, 32, 34, and 36 may be interconnected (physically,communicatively, and/or operatively) for inter-component communications.In some examples, communication channels 30 may include a system bus,network connection, interprocess communication data structure, or anyother channel for communicating data. As one example in FIG. 2,components 4, 12, 22, 24, 26, and 32 may be coupled by one or morecommunication channels 30.

Computing device 2 can include additional components that, for clarity,are not shown in FIG. 2. For example, computing device 2 can include abattery to provide power to the components of computing device 2.Similarly, the components of computing device 2 shown in FIG. 2 may notbe necessary in every example of computing device 2. For instancecomputing device 2 may not, in all examples, include network interface26.

Although shown as a separate component in FIG. 2, in some examples,usage mode module 6 may be part of interface manager 8. In someexamples, one or more of usage mode module 6, character mapping module10, and one or more processors 22 may be formed in a common hardwareunit. In certain examples, usage mode module 6 and/or character mappingmodule 10 may be software and/or firmware units that are executed on oroperable by one or more processors 22.

One or more processors 22 may include, in certain examples, any one ormore of a microprocessor, a controller, a digital signal processor(DSP), an application specific integrated circuit (ASIC), afield-programmable gate array (FPGA), or equivalent discrete orintegrated logic circuitry. Processors 22 may be configured to implementfunctionality and/or process instructions for execution within computingdevice 2. For example, processors 22 may be capable of processinginstructions stored in one or more storage devices 32.

Computing device 2 may also include a plurality of touch sensors 4 asone or more input devices 24. As described with respect to FIG. 1, touchsensors 4 may be capable of receiving touch input from a user and mayinclude electrical devices such as capacitive sensors or resistivesensors, or may include mechanical devices such as switches or pressureplates. The ability to sense touch input may also be employed to receivetouch input from a user. One or more input devices 24, in someembodiments, are configured to receive user input from a user throughtactile, audio, or video feedback. Examples of input devices 24 includea touch-sensitive and/or a presence-sensitive screen, a touch-pad, amouse, a keyboard, a voice responsive system, or any other type ofdevice for detecting a command from a user.

One or more output devices 12 may also be included in computing device2. Output devices 12, in various instances, are configured to provideoutput to a user using tactile, audio, or video stimuli. Examples ofoutput devices 12 may include a touch-sensitive and/orpresence-sensitive screen, a sound card, a video graphics adapter card,or any other type of device for converting a signal into an appropriateform understandable to humans or machines. Additional examples of outputdevices 12 may include a speaker, a cathode ray tube (CRT) monitor, aliquid crystal display (LCD), or any other type of device that cangenerate intelligible output to a user. In some examples, such as thosewhere output devices 12 include a touch-sensitive or presence-sensitivescreen, one or more of output devices 12 may also function as an inputdevice (e.g., one of input devices 24).

In the example of FIG. 2, computing device 2 includes network interface26. Computing device 2, in one example, uses network interface 26 tocommunicate with external devices via one or more networks, such as oneor more wireless networks. Network interface 26 may be a networkinterface card, such as an Ethernet card, an optical transceiver, aradio frequency transceiver, or any other type of device that can sendand receive information. Other examples of such network interfaces mayinclude Bluetooth, 3G and WiFi radios in mobile computing devices aswell as USB. In some examples, computing device 2 uses network interface26 to wirelessly communicate with an external device (not shown) such asa server, mobile phone, or other networked computing device.

One or more storage devices 32, in one example, are configured to storeinformation within computing device 2 during operation. Storage devices32, in some examples, are described as a computer-readable storagemedium. In some examples, storage devices 32 are a temporary memory,meaning that a primary purpose of storage devices 32 is not long-termstorage. Storage devices 32, in some examples, are described as avolatile memory, meaning that storage devices 32 do not maintain storedcontents when the computer is turned off. Examples of volatile memoriesinclude random access memories (RAM), dynamic random access memories(DRAM), static random access memories (SRAM), and other forms ofvolatile memories known in the art. In some examples, storage devices 32are used to store program instructions for execution by one or moreprocessors 22. Storage devices 32, in one example, are used by softwareor applications running on computing device 2 (e.g., interface manager8) to temporarily store information during program execution.

Storage devices 32, in some examples, may be configured to store largeramounts of information. Storage devices 32 may further be configured forlong-term storage of information. In some examples, storage devices 32include non-volatile storage elements. Examples of such non-volatilestorage elements include magnetic hard discs, optical discs, floppydiscs, flash memories, or forms of electrically programmable memories(EPROM) or electrically erasable and programmable memories (EEPROM).

Operating system 36 may control one or more functionalities of computingdevice 2 and/or components thereof. For example, operating system 36 mayinteract with applications 34, and may facilitate one or moreinteractions between applications 34 and processors 22, storage devices32, input devices 24, and output devices 12. Operating system 36 mayinteract with or be otherwise coupled to applications 34, usage modemodule 6 and components thereof. As shown in FIG. 2, operating system 36and usage mode module 6 may be stored in storage devices 32, and may beoperable by processors 22 to perform various tasks during execution.

Any applications or modules implemented within or executed by computingdevice 2 (e.g., applications 34, operating system 36, or usage modemodule 6) may be implemented or contained within, operable by, executedby, and/or be operatively coupled to touch sensors 4, output devices 12,processors 22, input devices 24, network interface 26, and/or storagedevices 32. During implementation or execution by processors 22,operating system 36 may provide information regarding one or more touchinputs from touch sensors 4 to usage mode module 6 (e.g., viacommunication channels 30). Operating system 36 may also be operable toprovide information regarding user input from interface manager 8 tousage mode module 6.

In some examples, usage mode module 6 may be included in operatingsystem 36. In other examples, usage mode module 6 may be part of one ormore of applications 34. Implementation or execution by processors 22may cause usage mode module 6 to determine a usage mode of computingdevice 2 based upon the received touch input information. That is, usagemode module 6 may analyze the received touch input information anddetermine the way in which a user of computing device 2 is holdingcomputing device 2. Processors 22 may operate usage mode module 6 todetermine a usage location of a user's hands with respect to computingdevice 2. Usage mode module 6 may also be operable to determine a user'smode of providing user input based on the received touch inputs and thereceived user input. In other words, usage mode module 6 may determinethe way in which the user is using computing device 2, the location atwhich the user is placing his or her hand(s) on computing device 2, andthe way in which the user is providing user input to computing device 2.Operating system 36 may provide an indication of the determined usagemode, usage location, and input mode to one or more of applications 34(e.g., interface manager 8).

One example of interface manager 8 is shown in FIG. 1. Interface manager8 may include character mapping module 10. Interface manager 8 mayprovide or display graphical keyboard 18 shown in FIG. 1 (e.g., atoutput devices 12 as part of GUI 16). Interface manager 8 may be storedin storage devices 32, and may be operable by processors 22 to performvarious tasks during execution.

During implementation or execution of interface manager 8, charactermapping module 10 may be operable by processors 22 to determine a layoutfor a graphical keyboard (e.g., graphical keyboard 18). Based at leastin part upon the determined usage mode, character mapping module 10 maydetermine a layout for use by interface manager 8. For example, when atwo-handed usage mode is determined, character mapping module 10 maydetermine that interface manager 8 should use a bifurcated graphicalkeyboard. If a single-handed usage mode is determined (e.g., aleft-handed usage mode or a right-handed usage mode), character mappingmodule 10 may determine that interface manager 8 should use a unitarygraphical keyboard. Character mapping module 10 may provide anindication of the determined layout to interface manager 8.

Interface manager 8 may receive the indication of the determinedgraphical keyboard layout and may cause an output device 12 (e.g., apresence-sensitive screen) to output the determined keyboard layout.That is, interface manager 8 may instruct an output device 12 to displayeither a unitary graphical keyboard or a bifurcated graphical keyboard.If, for example, usage mode module 6 determines a two-handed usage mode,interface manager 8 may cause an output device 12 to display abifurcated graphical keyboard (e.g., keyboard sections 18A, 18B) as partof GUI 16.

Based at least in part upon the determined usage location and inputmode, character mapping module 10 may determine a location or region onan output device 12 at which output device 12 displays graphicalkeyboard 18. Character mapping module 10 may instruct interface manager8 to display graphical keyboard 18 at various locations of outputdevices 12.

Interface manager 8 may be further operable by processors 22 to receiveuser input. For example, a user may provide a character selection at anoutput device 12 (e.g., a presence-sensitive screen) corresponding to acharacter displayed by graphical keyboard 18. The presence-sensitivescreen may provide some indication of the character selection tointerface manager 8 (e.g., via communication channels 30). Interfacemanager 8 may subsequently generate data representing the receivedcharacter selection and provide the generated data to operating system36, usage mode module 6, or other ones of applications 34 executing oncomputing device 2.

In some examples, execution or implementation of interface manager 8 mayfurther determine if provided user input was unintentional or erroneous,based on at least one of a determined usage mode of computing device 2,a determined usage location, and a determined input mode. That is,execution or implementation of interface manager 8 may include analyzingreceived user input for inadvertent selections. For example, ifinterface manager 8 determines that the provided user input wasunintentional or erroneous, interface manager 8 may refrain fromgenerating data representing the user input.

As discussed herein, the touch-input based usage mode determination andusage location determination, as well as the input mode determinationand variable keyboard layout of the present disclosure may increase theutility of a displayed graphical keyboard. Displaying differentkeyboards for different usage modes and usage locations may reduce thestrain users incur during character input and allow a user tocomfortably select characters without having to change positioning oftheir hands. Additionally, the usage mode, usage location, and inputmode may be used to distinguish an inadvertent user input from anintentional user input. As a result, in some instances, thepresence-sensitive screen may display more accessible characters andelements while reducing the risk of inaccuracies.

FIGS. 3A-3C are conceptual diagrams illustrating an example computingdevice for displaying a graphical keyboard at a presence-sensitivescreen, in accordance with one or more aspects of the presentdisclosure. For the purposes of illustration only, the example computingdevice is described below within the context of computing device 2 ofFIG. 1 and FIG. 2. FIGS. 3A-3C illustrate only one particular example ofcomputing device 2, and many other example embodiments of computingdevice 2 may be used in various instances.

As shown in FIGS. 3A-3C, computing device 2 includes multiple touchsensors 4 displayed as frontal touch sensors 50A-H (collectively“frontal touch sensors 50”). In FIGS. 3A-3C, touch sensors 4 ofcomputing device 2 also include multiple rear touch sensors 52A-F(collectively “rear touch sensors 52”). As shown in FIGS. 3A-3C, frontaltouch sensors 50 are located in or on a front of computing device 2, onboth a left and right side of computing device 2, while rear touchsensors 50 are located in or on a back housing of computing device 2, onboth a left and right side of computing device 2. However, the specificnumber, location, and arrangement of frontal touch sensors 50 and reartouch sensors 52 may be altered in various implementations, to betterdetermine usage mode, usage location, and input mode in accordance withthe present disclosure. For example, while FIGS. 3A-3C show computingdevice 2 including touch sensors 4 on both a front and a back housing,in other embodiments only touch sensors on a front housing or only on aback housing may be used.

Those touch sensors 4 detecting touch input are shown as black (i.e.,frontal touch sensor 50E and rear touch sensors 52C-52F in FIG. 3A).Those touch sensors 4 not currently detecting any touch input are shownas white (i.e., frontal touch sensors 50A-50D, 50F-H and rear touchsensors 52A, 52B in FIG. 3A). A particular combination of those touchsensors 4 detecting touch input and those touch sensors detecting notouch input may correspond to a specific usage mode and usage location.For example, the touch sensors 4 detecting touch inputs as shown in FIG.3A may correspond to a user holding computing device 2 with his or herleft hand only. Based upon the received touch inputs, usage mode module6 of computing device 2 may determine that computing device 2 is beingused in a single-handed usage mode. More specifically, usage mode module6 may determine, as shown in FIG. 3A, that computing device 2 is beingused in a left-handed usage mode, with the user's hand in a usagelocation nearer the bottom of computing device 2. That is, in theexample of FIG. 3A, usage mode module 6 may define a left-handed usagemode to correspond to when those rear touch sensors 52 detecting inputare located on both a left and a right side of computing device 2, butthose fontal touch sensors 50 detecting input are only located on a leftside of computing device 2.

Upon input manager 8 receiving user input (e.g., from apresence-sensitive screen of computing device 2) and providing it tousage mode module 6, usage mode module 6 may also determine an inputmode. As shown in FIG. 3A, the user may use his or her right hand toprovide user input, and usage mode module 6 would determine a two-handedinput mode. In another example, the user may use his or her left thumb(i.e., the thumb shown in FIG. 3A) to provide user input, and usage modemodule 6 would determine a single-handed input mode.

Interface manager 8 may cause output devices 12 (e.g., apresence-sensitive screen) to display graphical keyboard 18 as part ofGUI 16. As shown in FIG. 3A, based at least in part on the determinedusage mode, usage location, and a two-handed input mode, GUI 16 mayinclude left-weighted graphical keyboard 19, located such that the usermay be able to comfortably select each key displayed as part ofleft-weighted graphical keyboard 19 using his or her right hand. Inother examples, where usage mode module 6 determines a single-handedinput mode, left-weighted graphical keyboard 19 may be located such thatthe user may be able to comfortably select each key using the thumb ofhis or her left hand. In the example shown in FIG. 3A, left-weightedgraphical keyboard 19 is displayed near a left edge of GUI 16. However,in other examples, left-weighted graphical keyboard 19 may be displayednearer to a center or nearer to a right edge of GUI 16.

As shown in FIG. 3B, a different example combination of touch sensors 4detecting touch input and touch sensors 4 receiving no touch input maybe encountered. In FIG. 3B, frontal touch sensor 50D and rear touchsensors 52A, 52C, 52D and 52F are shown as detecting touch input. Thetouch inputs as shown in FIG. 3B may correspond to a user holdingcomputing device 2 with his or her right hand only. Based upon thereceived touch inputs, usage mode module 6 may determine that computingdevice 2 as shown in FIG. 3B is being used in a right-handed usage mode,with the user's hand in a location more toward the middle of computingdevice 2. That is, in the example of FIG. 3B, usage mode module 6 maydefine a right-handed usage mode to correspond to when those rear touchsensors 52 detecting input are located on both a left and a right sideof computing device 2, but those fontal touch sensors 50 detecting inputare only located on a right side of computing device 2.

Usage mode module 6 may receive user input (e.g., from interface manager8) provided by the user's right thumb and also determine a single-handedinput mode. Based at least in part on the determined usage mode, usagelocation, and input mode, GUI 16 may include right-weighted graphicalkeyboard 20 such that each displayed key of right-weighted graphicalkeyboard 20 is comfortably accessible by the thumb of the user's righthand. In the example shown in FIG. 3B, right-weighted graphical keyboard20 is displayed near a right edge of GUI 16. However, in other examples,right-weighted graphical keyboard 20 may be displayed nearer to a centeror nearer to a left edge of GUI 16.

Output devices 12 (e.g., a presence-sensitive screen) may receive one ormore selections corresponding to user input. Each selection maycorrespond to a character displayed as part of graphical keyboard 18 orother element of GUI 16. The presence-sensitive screen may provide userinput information to interface manager 8. Upon receiving user inputinformation, interface manager 8 may distinguish inadvertent user inputfrom intentional user input, based at least in part upon one or more ofthe received usage mode, the received usage location, the received inputmode, and the received touch inputs.

In some embodiments, interface manager 8 may determine erroneous userinput based in part on the input mode. As one example, a user may holdcomputing device 2 in a right hand, at a location near the middle ofcomputing device 2 (e.g., in accordance with the touch input as shown inFIG. 3B). The user may employ a single-handed input mode. That is, theuser may use his or her right hand to interact with right-weightedgraphical keyboard 20 to input the “E” key and the “.” key at or nearthe same time. When receiving user input information from thepresence-sensitive screen for these user inputs, interface manager 8 maycompare currently detected touch inputs to the touch inputs detectedprior to the user inputs. If certain ones of touch sensors 4 were notpreviously detecting touch input, but now are detecting touch input(e.g., if frontal touch sensor 50F of FIG. 3B is now additionallydetecting touch input), interface manager 8 may determine that userinput information relating to selection of the “E” key was intentional,and provide the user input to one or more of operating system 36 orapplications 34. However, based on the determined input mode and changein detected touch inputs, interface manager 8 may determine that userinput information relating to the “.” key was caused by the palm of theuser's right hand, and thus erroneous. In the case of erroneous userinput, interface manager 8 may discard the user input, and refrain fromproviding associated user input information to operating system 36,usage mode module 6, or applications 34.

In other embodiments, interface manager 8 may differentiate intentionaluser input from inadvertent or erroneous user input based on the currentusage mode of computing device 2. As an example, in a two-handed usagemode, interface manager 8 may determine that any user input receivednear a left or right edge of GUI 16, when received at or near the sametime as user input received more inbounds from the edge of GUI 16, iserroneous and should be discarded. Interface manager 8 may monitor thereceived touch inputs, and only determine erroneous user input whenadditional touch inputs are received at or near the same time as theuser input. For example, erroneous user input may be determined whenthere is a change in the received touch inputs at or near the same timeas the received user input, regardless of the usage mode and input mode.

FIG. 3C shows another example combination of touch sensors 4 detectingtouch input and touch sensors 4 detecting no touch input. In FIG. 3C,only rear touch sensors 52C-52F and frontal touch sensors 50E-50F aredetecting touch input. The touch inputs as shown in FIG. 3C maycorrespond to a user holding computing device 2 with both of his or herhands. Based upon the received touch inputs, usage mode module 6 maydetermine that computing device 2 is being used in a two-handed usagemode and that the user's hands are nearer the bottom of computing device2. That is, in the example of FIG. 3C, usage mode module 6 may define atwo-handed usage mode to correspond to when those rear touch sensors 52detecting input are located on both a left and a right side of computingdevice 2, and those fontal touch sensors 50 detecting input are alsolocated on both a left and a right side of computing device 2. Basedupon the determined usage mode and usage location, GUI 16 may includekeyboard sections 18 such that each key of keyboard section 18A iseasily accessible by the user's left thumb, and each key of keyboardsection 18B is easily accessible by the user's right thumb.

Interface manager 8 may differentiate intentional user input fromerroneous or inadvertent user input in a two-handed usage mode as well.Similar to when a one-handed usage mode is determined, interface manager8 may determine erroneous input in a two-handed usage mode based atleast in part on one of the usage mode, the usage location, the inputmode, and the received touch inputs. For example, in a two-handed usagemode, interface manager 8 may receive information from usage mode module6 indicating that a user provided user input using his or her left hand.That is, interface manager 8 may receive a left-hand input modeindication from usage mode module 6. Based on the input modeinformation, interface manager may determine that user input receivedclose to a left edge of GUI 16, received at or near the same time asother user input received more inbounds, may be erroneous.

FIG. 4 is a flow diagram illustrating an example process that may beused to display a graphical keyboard at a presence-sensitive screen, inaccordance with one or more aspects of the present disclosure. Forpurposes of illustration only, the example method illustrated in FIG. 4is described below within the context of computing device 2 of FIG. 1and FIG. 2. The example process described below may be performed bycomputing device 2 shown in FIG. 1 and FIG. 2.

The process of FIG. 4 includes receiving, by computing device 2 having apresence-sensitive screen (e.g., one of output devices 12) and ahousing, the housing further having a plurality of touch sensors 4,input at one or more of touch sensors 4 from the plurality of touchsensors 4 (80). That is, touch sensors 4 of computing device 2 maydetect touch inputs at touch sensors 4 (e.g., when a user holdscomputing device 2). Touch sensors 4 may send an indication of thedetected touch inputs to usage mode module 6.

The process of FIG. 4 also includes determining, by computing device 2,based at least in part on the received touch inputs, a usage mode,wherein the usage mode includes at least one of a one-handed usage mode,and a two-handed usage mode (82). That is, usage mode module 6 may usethe touch inputs received from touch sensors 4 to determine the mode inwhich a user is using computing device 2. If the received touch inputscorrespond to a left-handed usage mode (e.g., as shown in FIG. 3A),usage mode module 6 may determine a left-handed usage mode. For example,if the received touch inputs include touch input detected at rear touchsensors 52 on both a left and a right side of computing device 2, aswell as at frontal touch sensors 50 on only a left side, usage modemodule 6 may determine a left-handed usage mode. If the received touchinputs correspond to a right-handed usage mode (e.g., as shown in FIG.3B), usage mode module 6 may determine a right-handed usage mode. Forexample, if the received touch inputs include touch input detected atrear touch sensors 52 on both the left and right sides of computingdevice 2, as well as at frontal touch sensors 50 on only the right side,usage mode module 6 may determine a right-handed usage mode. If,however, the received inputs correspond to a two-handed usage mode(e.g., as shown in FIG. 3C), usage mode module 6 may determine atwo-handed usage mode. As an example, if the received touch inputsinclude touch input detected at rear touch sensors 52 on both the leftand right sides of computing device 2, and touch input detected atfrontal touch sensors 50 on both the left and right sides of computingdevice 2, usage mode module 6 may determine a two-handed usage mode.Usage mode module 6 may send an indication of the determined usage modeto interface manager 8.

The process of FIG. 4 further includes displaying, based at least inpart on the determined usage mode, graphical keyboard 18 at thepresence-sensitive screen, wherein, if the determined usage mode is theleft-handed usage mode (“LEFT-HANDED” branch of 74), graphical keyboard18 is displayed as a left-weighted graphical keyboard (76). For example,character mapping module 10 of interface manager 8 may determine alayout of graphical keyboard 18 based on the usage mode received fromusage mode module 6. If a left-handed usage mode is received, charactermapping module 10 may instruct interface manager 8 to use aleft-weighted graphical keyboard layout. Interface manager 8 may causethe presence-sensitive screen to display a unitary, left-weightedgraphical keyboard (e.g., left-weighted graphical keyboard 19) as partof GUI 16.

If the determined usage mode is the right-handed usage mode(“RIGHT-HANDED” branch of 74), graphical keyboard 18 is displayed as aright-weighted graphical keyboard (78). As one example, if charactermapping module 10 receives a right-handed usage mode from usage modemodule 6, character mapping module 10 may instead instruct interfacemanager 8 to use a right-weighted graphical keyboard layout. Interfacemanager 8 may cause the presence-sensitive screen to display a unitary,right-weighted graphical keyboard (e.g., right-weighted graphicalkeyboard 20) as part of GUI 16.

If the determined usage mode is the two-handed usage mode (“TWO-HANDED”branch of 74), graphical keyboard 18 is displayed as a split, orbifurcated graphical keyboard (80). That is, if character mapping module10 receives a two-handed usage mode from usage mode module 6, charactermapping module 10 may instruct interface manager 8 to use a split, orbifurcated graphical keyboard layout. Interface manager 8 may cause thepresence-sensitive screen to display a bifurcated graphical keyboard(e.g., keyboard sections 18) as part of GUI 16.

In one example, the process includes determining, based on a location ofeach of the one or more touch sensors at which the touch input isreceived, a usage location, determining, based at least in part on theusage location, a position on the presence-sensitive screen at which todisplay the graphical keyboard, and displaying the graphical keyboard atthe determined position.

In one example, the process includes detecting, at thepresence-sensitive screen, two or more user inputs, each user input ofthe two or more user inputs detected at a respective location of thepresence-sensitive screen, determining, based at least in part on therespective locations and the determined usage-mode, that at least oneuser input of the two or more user inputs is an unintentional userinput, and discarding the at least one unintentional user input.

In one example, determining that the at least one user input of the twoor more user inputs is the unintentional user input includes determininga left-handed usage mode, detecting, with the presence-sensitive screen,the at least one user input of the two or more user inputs at a locationproximate to a left edge of the presence-sensitive screen, anddetermining that the at least one user input of the two or more userinputs detected at the location proximate to the left edge of thepresence-sensitive screen is the unintentional user input.

In one example, determining that the at least one user input of the twoor more user inputs is the unintentional user input includes determininga right-handed usage mode, detecting, with the presence-sensitivescreen, the at least one user input of the two or more user inputs at alocation proximate to a right edge of the presence-sensitive screen, anddetermining that the at least one user input of the two or more userinputs detected at the location proximate to the right edge of thepresence-sensitive screen is the unintentional user input.

In one example, determining that the at least one user input of the twoor more user inputs is the unintentional user input includes determininga two-handed usage mode, detecting, with the presence-sensitive screen,the at least one user input of the two or more user inputs at a locationproximate to a left edge or a right edge of the presence-sensitivescreen, and determining that the at least one user input of the two ormore user inputs detected at the location proximate to the left edge orthe right edge of the presence-sensitive screen is the unintentionaluser input.

In one example, the process includes detecting, at thepresence-sensitive screen, two or more user inputs, each user input ofthe two or more user inputs detected at a respective location of thepresence-sensitive screen, determining, by an interface manager of thecomputing device and based at least in part on the respective locationsand the determined usage mode, that at least one user input of the twoor more user inputs is an intentional user input, and providing, by theinterface manager, the intentional user input to a software applicationexecuting at the computing device.

In one example, at least one touch sensor from the plurality of touchsensors is located on a front surface of the housing. That is, touchsensors 4 may include frontal touch sensors 50. In another example, atleast one touch sensors from the plurality of touch sensors is locatedon a rear surface of the housing. That is, touch sensors 4 may includerear touch sensors 52.

In one example, the split graphical keyboard includes a left portion ofa QWERTY-type keyboard layout and a right portion of a QWERTY-typekeyboard layout. In another example, the unitary graphical keyboardincludes a QWERTY-type keyboard layout.

In one example, determining the usage mode includes receiving, by thecomputing device, touch input from at least one touch sensor located ona left side of a rear surface of the housing, from at least one touchsensor located on a right side of the rear surface of the housing, andat least one touch sensor located on a left side of a front surface ofthe housing. Determining the usage mode also includes determining, basedat least in part on the received touch input, that the usage mode is aleft-handed usage mode. Additionally, displaying the graphical keyboardincludes displaying a left-weighted graphical keyboard at thepresence-sensitive screen.

In one example, determining the usage mode includes receiving, by thecomputing device, touch input from at least one touch sensor located ona left side of a rear surface of the housing, from at least one touchsensor located on a right side of the rear surface of the housing, andat least one touch sensor located on a right side of a front surface ofthe housing. Determining the usage mode also includes determining, basedat least in part on the received touch input, that the usage mode is aright-handed usage mode. Additionally, displaying the graphical keyboardincludes displaying a right-weighted graphical keyboard at thepresence-sensitive screen.

In one example, determining the usage mode includes receiving, by thecomputing device touch input from at least one touch sensor located on aleft side of a rear surface of the housing, from at least one touchsensor located on a right side of the rear surface of the housing, fromat least one touch sensor located on a left side of a front surface ofthe housing, and from at least one touch sensor located on a right sideof the front surface of the housing; and determining, based at least inpart on the received touch input, that the usage mode is a two-handedusage mode.

The techniques described herein may be implemented in hardware,software, firmware, or any combination thereof. Various featuresdescribed as modules, units or components may be implemented together inan integrated logic device or separately as discrete but interoperablelogic devices or other hardware devices. In some cases, various featuresof electronic circuitry may be implemented as one or more integratedcircuit devices, such as an integrated circuit chip or chipset.

If implemented in hardware, this disclosure may be directed to anapparatus such a processor or an integrated circuit device, such as anintegrated circuit chip or chipset. Alternatively or additionally, ifimplemented in software or firmware, the techniques may be realized atleast in part by a computer readable data storage medium comprisinginstructions that, when executed, cause one or more processors toperform one or more of the methods described above. For example, thecomputer-readable data storage medium may store such instructions forexecution by a processor. Any combination of one or morecomputer-readable medium(s) may be utilized.

A computer-readable medium may form part of a computer program product,which may include packaging materials. A computer-readable medium maycomprise a computer data storage medium such as random access memory(RAM), read-only memory (ROM), non-volatile random access memory(NVRAM), electrically erasable programmable read-only memory (EEPROM),flash memory, magnetic or optical data storage media, and the like. Ingeneral, a computer-readable storage medium may be any tangible mediumthat can contain or store a program for use by or in connection with aninstruction execution system, apparatus, or device. Additional examplesof computer readable medium include computer-readable storage devices,computer-readable memory, and tangible computer-readable medium. In someexamples, an article of manufacture may comprise one or morecomputer-readable storage media.

In some examples, the computer-readable storage media may comprisenon-transitory media. The term “non-transitory” may indicate that thestorage medium is not embodied in a carrier wave or a propagated signal.In certain examples, a non-transitory storage medium may store data thatcan, over time, change (e.g., in RAM or cache).

The code or instructions may be software and/or firmware executed byprocessing circuitry including one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application-specific integrated circuits (ASICs), field-programmablegate arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other processing circuitrysuitable for implementation of the techniques described herein. Inaddition, in some aspects, functionality described in this disclosuremay be provided within software modules or hardware modules.

Various embodiments have been described. These and other embodiments arewithin the scope of the following claims.

What is claimed is:
 1. A method comprising: receiving, by a computingdevice, indications of two or more inputs detected at apresence-sensitive screen, each input of the two or more inputs beingdetected at a respective location of the presence-sensitive screen;determining, by the computing device and based at least in part on therespective locations of the presence-sensitive screen at which the twoor more inputs are detected, that one of the two or more inputs is anunintentional input; and responsive to determining that the one of thetwo or more inputs is the unintentional input, discarding theunintentional input.
 2. The method of claim 1, further comprising:determining, by an interface manager of the computing device, based atleast in part on the respective locations and the usage mode, that atleast one input of the two or more inputs is an intentional input; andproviding, by the interface manager, the intentional input to a softwareapplication executing at the computing device.
 3. The method of claim 1,wherein one of the respective locations at which one of the two or moreinputs is detected is between an edge of the presence-sensitive screenand at least one other input of the two or more inputs, and whereindetermining that the one of the two or more inputs is the unintentionalinput further comprises determining, by the computing device, that theone of the two or more inputs detected between the edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs is the unintentional input.
 4. The method of claim 3,further comprising: determining, by the computing device, a usage modeof the computing device, wherein determining that the one of the two ormore inputs is the unintentional input is further based on the usagemode.
 5. The method of claim 4, wherein the usage mode of the computingdevice is one of a right-handed usage mode, a left-handed usage mode, ora two-handed usage mode.
 6. The method of claim 4, wherein: the usagemode is a right-handed usage mode, the edge of the presence-sensitivescreen is a right edge of the presence-sensitive screen, the one of therespective locations at which the one of the two or more inputs isdetected is between the right edge of the presence-sensitive screen andthe at least one other input of the two or more inputs, and determining,based on the right-handed usage mode, that the one of the two or moreinputs is the unintentional input further comprises determining that theone of the two or more inputs detected between the right edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs is the unintentional input.
 7. The method of claim 4,wherein: the usage mode is a left-handed usage mode, the edge of thepresence-sensitive screen is a left edge of the presence-sensitivescreen, the one of the respective locations at which the one of the twoor more inputs is detected is between the left edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs, and determining, based on the left-handed usage mode, thatthe one of the two or more inputs is the unintentional input furthercomprises determining that the one of the two or more inputs detectedbetween the left edge of the presence-sensitive screen and the at leastone other input of the two or more inputs is the unintentional input. 8.The method of claim 4, wherein: the usage mode is a two-handed usagemode, the one of the respective locations at which the one of the two ormore inputs is detected is 1) between a left edge of thepresence-sensitive screen and at least one other input detected at asecond location more inbounds from the left edge of thepresence-sensitive screen than the at least one respective location or2) between a right edge of the presence-sensitive screen and at leastone other input detected at a third location more inbounds from theright edge of the presence-sensitive screen than the respective locationat which the one of the two or more inputs is detected, and determiningthat the one of the two or more inputs is the unintentional inputfurther comprises determining, based on the two-handed usage mode and anamount of time that has elapsed between when a first one of the two ormore inputs is detected and a last of the two or more inputs isdetected, that the one of the two or more inputs is the unintentionalinput.
 9. The method of claim 1, wherein determining that the one of thetwo or more inputs is the unintentional is further based on an amount oftime that has elapsed between when a first one of the two or more inputsis detected and a last of the two or more inputs is detected.
 10. Acomputing system comprising: one or more processors; apresence-sensitive screen; a non-transitory computer-readable storagemedium storing instructions that, when executed by the one or moreprocessors, cause the one or more processors to: receive indications oftwo or more inputs detected at the presence-sensitive screen, each inputof the two or more inputs being detected at a respective location of thepresence-sensitive screen; determine, based at least in part on therespective locations of the presence-sensitive screen at which the twoor more inputs are detected, that one of the two or more inputs is anunintentional input; and responsive to determining that the one of thetwo or more inputs is the unintentional input, discard the unintentionalinput.
 11. The computing system of claim 10, wherein the instructionsthat cause the one or more processors to determine that the one of thetwo or more inputs is the unintentional input further cause the one ormore processors to determine that the one of the two or more inputs isthe unintentional input based on an amount of time that has elapsedbetween when a first one of the two or more inputs is detected and alast of the two or more inputs is detected.
 12. The computing system ofclaim 10, wherein one of the respective locations at which one of thetwo or more inputs is detected is between an edge of thepresence-sensitive screen and at least one other input of the two ormore inputs, and wherein the instructions that cause the one or moreprocessors to determine that the one of the two or more inputs is theunintentional input further cause the one or more processors todetermine that the one of the two or more inputs detected between theedge of the presence-sensitive screen and the at least one other inputof the two or more inputs is the unintentional input.
 13. The computingsystem of claim 12, wherein the instructions further cause the one ormore processors to: determine a usage mode of the computing device; anddetermine that the one of the two or more inputs is the unintentionalinput further based on the usage mode.
 14. The computing system of claim13, wherein: the usage mode is a right-handed usage mode, the edge ofthe presence-sensitive screen is a right edge of the presence-sensitivescreen, the one of the respective locations at which the one of the twoor more inputs is detected is between the right edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs, and the instructions that cause the one or more processorsto determine that the one of the two or more inputs is the unintentionalinput further cause the one or more processors to determine that the oneof the two or more inputs detected between the right edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs is the unintentional input.
 15. The computing system ofclaim 13, wherein: the usage mode is a left-handed usage mode, the edgeof the presence-sensitive screen is a left edge of thepresence-sensitive screen, the one of the respective locations at whichthe one of the two or more inputs is detected is between the left edgeof the presence-sensitive screen and the at least one other input of thetwo or more inputs, and the instructions that cause the one or moreprocessors to determine that the one of the two or more inputs is theunintentional input further cause the one or more processors todetermine that the one of the two or more inputs detected between theleft edge of the presence-sensitive screen and the at least one otherinput of the two or more inputs is the unintentional input.
 16. Thecomputing system of claim 13, wherein: the usage mode is a two-handedusage mode, the one of the respective locations at which the one of thetwo or more inputs is detected is 1) between a left edge of thepresence-sensitive screen and at least one other input detected at asecond location more inbounds from the left edge of thepresence-sensitive screen than the at least one respective location or2) between a right edge of the presence-sensitive screen and at leastone other input detected at a third location more inbounds from theright edge of the presence-sensitive screen than the respective locationat which the one of the two or more inputs is detected, and theinstructions that cause the one or more processors to determine that theone of the two or more inputs is the unintentional input further causethe one or more processors to determine, based on the two-handed usagemode and an amount of time that has elapsed between when a first one ofthe two or more inputs is detected and a last of the two or more inputsis detected, that the one of the two or more inputs is the unintentionalinput.
 17. A non-transitory computer-readable storage medium comprisinginstructions that, when executed, cause one or more processors of acomputing device to: receive indications of two or more inputs detectedat a presence-sensitive screen, each input of the two or more inputsbeing detected at a respective location of the presence-sensitivescreen; determine, based at least in part on the respective locations ofthe presence-sensitive screen at which the two or more inputs aredetected, that one of the two or more inputs is an unintentional input;and responsive to determining that the one of the two or more inputs isthe unintentional input, discard the unintentional input.
 18. Thenon-transitory computer-readable storage medium of claim 17, wherein oneof the respective locations at which one of the two or more inputs isdetected is between an edge of the presence-sensitive screen and atleast one other input of the two or more inputs, and wherein theinstructions that cause the one or more processors to determine that theone of the two or more inputs is the unintentional input further causethe one or more processors to determine that the one of the two or moreinputs detected between the edge of the presence-sensitive screen andthe at least one other input of the two or more inputs is theunintentional input.
 19. The non-transitory computer-readable storagemedium of claim 17, wherein the instructions further cause the one ormore processors to: determine that a usage mode of the computing deviceis a right-handed usage mode, wherein one of the respective locations atwhich one of the two or more inputs is detected is between a right edgeof the presence-sensitive screen and at least one other input of the twoor more inputs, and wherein the instructions that cause the one or moreprocessors to determine that the one of the two or more inputs is theunintentional input further cause the one or more processors todetermine that the one of the two or more inputs detected between theright edge of the presence-sensitive screen and the at least one otherinput of the two or more inputs is the unintentional input.
 20. Thenon-transitory computer-readable storage medium of claim 17, wherein theinstructions further cause the one or more processors to: determine thata usage mode of the computing device is a left-handed usage mode,wherein one of the respective locations at which one of the two or moreinputs is detected is between a left edge of the presence-sensitivescreen and at least one other input of the two or more inputs, andwherein the instructions that cause the one or more processors todetermine that the one of the two or more inputs is the unintentionalinput further cause the one or more processors to determine that the oneof the two or more inputs detected between the left edge of thepresence-sensitive screen and the at least one other input of the two ormore inputs is the unintentional input.